﻿#define _CRT_SECURE_NO_WARNINGS
//小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在 1960 年 1 月 1 日至 
//2059 年 12 月 31 日。令小明头疼的是，这些日期采用的格式非常不统一，有采用年 / 月 / 日的，有采用月 / 日 / 年的
//，还有采用日 / 月 / 年的。
//
//更加麻烦的是，年份也都省略了前两位，使得文献上的一个日期，存在很多可能的日期与其对应。
//比如 02 / 03 / 04，可能是 2002 年 03 月 04 日、2004 年 02 月 03 日或 2004 年 03 月 02 日。
//
//给出一个文献上的日期，你能帮助小明判断有哪些可能的日期对其对应吗？
//输入描述
//一个日期，格式是 "
//AA / BB / CC" (0≤90≤A, B, C≤9)。
//
//输出描述
//输出若干个不相同的日期，每个日期一行，格式是 "yyyy−MM−dd"。多个日期按从早到晚排列。
#include<stdio.h>
int max_n[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int pd(int year, int month, int day)
{
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
    {
        max_n[2] = 29;
    }
    else
    {
        max_n[2] = 28;
    }
    if (day == 0)
    {
        return 0;
    }
    if (month <= 0 || month > 12)
    {
        return 0;
    }
    else
    {
        if (max_n[month] < day)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int year, month, day, i, j, t = 0;
    int a, b, c;
    scanf("%d/%d/%d", &a, &b, &c);
    for (i = 19600101; i <= 20591231; i++)
    {
        year = i / 10000;
        month = i % 10000 / 100;
        day = i % 100;
        if (pd(year, month, day))
        {
            if ((year % 100 == a && month == b && day == c) || (year % 100 == c && month == b && day == a) || (year % 100 == c && month == a && day == b))
            {
                printf("%02d-%02d-%02d\n", year, month, day);
            }
        }
    }
    return 0;
}